1. Field of Application
The present invention relates to a method of inter-server cooperation which utilizes the HTTP protocol, for communication between WWW servers and WWW browsers which are mutually connected via a data communication network such as the Internet.
2. Description of Prior Art
In recent years, with the increasing popularity of utilizing the Internet for information exchange via the WWW (World Wide Web), various ways of transferring information by using WWW servers and WWW browsers (i.e., servers and browsers designed to be compatible with WWW communication) have been developed.
A WWW server may store and handle various types of information expressed as HTML (HyperText Markup Language) files, or video data files, etc., while a WWW browser can use the URL (Uniform Resource Locator) specifying a desired file and the location (i.e., directory path within a specific server) where the file is held, to transfer HTML files or image data files from the WWW server to the browser via the Internet by employing the HTTP (HyperText Transfer Protocol). The WWW browser can then translate the file into suitable form for displaying the file contents, i.e., as a page of text, or a still or moving image. A large number of WWW servers are mutually connected via the Internet, for interchange of data.
A user of a WWW browser can send a request for accessing a file stored at a specific WWW server by directly inputting the URL of that file, or achieving the same result by activating (i.e., "clicking on") a corresponding hypertext link appearing in a displayed page of HTML data. The WWW browser responds by finding the IP (Internet Protocol) address of the server corresponding to the specified URL, and sending the request (e.g, in the form of a GET command) to the address of the WWW server, via the Internet. The required file is then obtained through a communication link which is established via the Internet by the destination server and is maintained until the data transfer has been completed.
The above basic features will be described using the example of two WWW servers and a WWW browser which are shown in FIG. 16. Here, numeral 10 denotes a first WWW server, which includes an HTTP communication section 101 for executing communication with WWW browsers via the Internet, a request processing section 102 for translating received URLs, a data acquisition section 103 for acquiring and outputting HTML or image data, etc, in accordance with the specified URLs, and a stored set of files 10001 which may include HTML files, still picture or video image data files, etc. For simplicity of description, only the transfer of HTML files will be described for this example. A second WWW server, designated by numeral 20, has the same configuration as the WWW server 10. A WWW browser 30 includes a URL input section 301 for inputting URLs by a user, and a URL analysis section 302 for obtaining IP (Internet Protocol) addresses of WWW servers corresponding to URLs. The WWW browser 30 further includes a HTTP communication section 303 which executes communication with WWW servers via the Internet, a HTTP analysis section 304 for determining how the contents of a received file are to be displayed (after performing any necessary data conversion processing, such as translation from HTML to a text format in the case of an HTML file), and a display section 305 for displaying the contents of received files.
It will be assumed for example that a user inputs "HTTP://wwwA/index.html" from the URL input section 301, as a URL. The URL input section 301 transfers that input URL to the HTTP communication section 303. The first field of the URL specifies the name of the server to which connection is to be made for obtaining the requested file "index.html". In this example, "wwwA" is the server name of the virtual WWW server apparatus 10. The URL analysis section 302 extracts this first field, and transfers the server name together with a GET command to the HTTP communication section 303. The GET command is generated by omitting the first field of the URL, i.e. as: "GET/index.html". From the server name, the HTTP communication section 303 acquires the corresponding IP address, to establish a connection to the HTTP communication section 101 of the server having that IP address, and passes the GET command to that HTTP communication section 101. The HTTP communication section 101 then passes the received GET command to the request processing section 102. The request processing section 102 extracts the portion "index.html" (i.e., the name of the requested file) from the GET command, and passes this to the data acquisition section 103. The data acquisition section 103 is capable of finding the directory path to the stored file "index.html", and reads out that file and sends the file contents to the HTTP communication section 101.
FIG. 17 shows an example of an HTML file which is held at the virtual WWW server apparatus 10, which will be assumed to be the requested file, and which in this example is the "home page" of the virtual WWW server apparatus 10. The HTTP communication section 101 transfers the contents of this file to the HTTP communication section 303 of the WWW browser 30, and then breaks the connection to the WWW browser 30. The HTTP communication section 303 of the WWW browser 30 then passes the contents of that received HTML file to the HTTP analysis section 304, which analyzes the file, and notifies the display section 305 of how the file contents are to be displayed. The display section 305 then displays the file contents, i.e., as a page of text containing a static image, in this example.
FIG. 19 shows an example of how the HTML file of FIG. 17 might be displayed by the display section 305. In this example, a hypertext link can be established to the WWW server B, as indicated by the underlining of the displayed portion "To WWW Server B" in FIG. 19. If the user uses an input device to select that display portion, e.g., by "clicking" on that portion by using a mouse, then information can be obtained from the link destination, i.e. the WWW server B. Specifically, the URL of a file corresponding to the hypertext link is passed to the URL analysis section 302, and the processing described above is executed to obtain the file from the WWW server B 20, i.e., the HTTP communication section 303 executes connection to the WWW server B 20, and receives the contents of an HTML file from the WWW server B 20. FIG. 18 shows an example of such an HTML file, whose contents constitute the home page of the WWW server B 20. When the WWW browser 30 receives this HTML file, the display contents change from the form shown in FIG. 19 to that shown in FIG. 20.
However in general, it is not possible to display information from a plurality of WWW servers on a single display screen of a WWW browser. The only exception is that it is possible to obtain and display the contents of a HTML file obtained from one WWW server while at the same time displaying an image which has been obtained as an image data file from a different server, i.e. an image data file whose URL is specified within the obtained HTML file. However it is not possible to also concurrently obtain and display the contents of an HTML file from such another server.
Furthermore, in addition to the usual manner of using a WWW server as described above, it is also possible for a WWW browser user to send a request to a WWW server for execution of some operation other than "read out and send this file". Such a request can be sent in the same way as a file transfer request, i.e. by inputting a URL. In that case, inputting the URL to a WWW browser has the effect of sending to a WWW server a command to execute a specific program, for a purpose such as control of the operation of some device, and to return any data generated as a result of that execution.
Apart from the case of performing HTTP communication between a WWW browser and a WWW server, it is possible to achieve display of information from a plurality of servers on a single display screen by using some form of special communication protocol or program (such as UDP or TCP), a plug-in, etc. However if it is required to access communication with these servers via the Internet by using a WWW browser which is located within a corporation, then since such communication is generally executed via a firewall, it would be difficult to overcome the above problem by using such a special in-house communication arrangement.
It should be understood that the term "browser" as used herein refers to a program which is run on the computer of a user, so that for example a phrase such as "the picture displayed by the browsers in the following description and claims actually signifies "the picture which is being presented, by operation of a browser, on the display screen of the corresponding computer system". It should similarly be understood that the term "server" as used herein refers to a program which is run on a computer system, rather than to that computer system itself.